вернуться в раздел "Научные труды"

РАЗРАБОТКА ГИС-ИНТЕРФЕЙСА ДЛЯ СИТУАЦИОННОЙ СИСТЕМЫ ВЫЧИСЛИТЕЛЬНОГО ЭКСПЕРИМЕНТА НА ОСНОВЕ C# И DOTSPATIAL

DEVELOPMENT OF GIS-INTERFACE FOR SITUATIONAL SYSTEM OF COMPUTATIONAL EXPERIMENT ON THE BASIS OF C# AND DOTSPATIAL
Никита Александрович Вдовиченко1, Никита Николаевич Руденко2
1,2Институт информатики и математического моделирования имени В. А. Путилова
Кольского научного центра Российской академии наук, Апатиты, Россия
1claysthree@yandex.ru, https://orcid.org/0000-0002-8150-0773
2nikirudi1988@mail.ru, https://orcid.org/0000-0003-0061-0397

Аннотация

В данной статье рассматривается разработка ГИС-интерфейса для ситуационной системы вычислительного эксперимента с использованием языка программирования С# и библиотеки DotSpatial. Основной целью исследования является создание системы, которая позволяет проводить анализ пространственных данных и визуализацию объектов и процессов с возможностью их категоризации. Описаны концептуальная модель предметной области (КМПО), алгоритмы категоризации объектов и процессов, а также методы визуализации данных с использованием ГИС. Результаты разработки могут быть применены в вычислительных задачах, включая моделирование и анализ ситуаций в различных предметных областях.

Abstract

This paper deals with the development of GIS-interface for situational system of computational experiment using C# programming language and DotSpatial library. The main purpose of the study is to create a system that allows for spatial data analysis and visualization of objects and processes with the possibility of their categorization. The conceptual model of the subject area (CMPO), algorithms for categorization of objects and processes, and methods of data visualization using GIS are described. The results of the development can be applied in computational tasks, including modeling and analysis of situations in various subject areas.

Ключевые слова: ГИС-интерфейс, С#, DotSpatial, ситуационная система, вычислительный эксперимент, пространственные данные
Keywords: GIS-interface, C#, DotSpatial, situational system, computational experiment, spatial data
Для цитирования:
Вдовиченко Н. А., Руденко Н. Н. Разработка ГИС-интерфейса для ситуационной системы вычислительного эксперимента на основе С# и DotSpatial // Труды Кольского научного центра РАН. Серия: Технические науки. 2024. Т. 15, No 3. С. 105–112. doi:10.37614/2949.1215.2024.15.3.009.

Введение

В настоящее время системы геоинформационного анализа (ГИС) играют важную роль в решении задач, связанных с обработкой и визуализацией пространственных данных. Их применение необходимо в различных областях: от экологии и геологии до урбанистики и логистики. Разработка эффективных ГИС-интерфейсов, способных автоматизировать обработку данных и предоставить наглядные визуализации, является важной задачей в сфере научных и прикладных исследований.

Целью настоящей работы является разработка ГИС-интерфейса для ситуационной системы вычислительного эксперимента. Система, реализованная с использованием C# и библиотеки DotSpatial, предоставляет возможности для анализа и категоризации пространственных данных, а также их визуализации в контексте вычислительных моделей.

Для достижения поставленной цели были сформулированы следующие задачи:

  1. разработка концептуальной модели предметной области (КМПО) для ситуационной системы вычислительного эксперимента;
  2. определение категорий данных и объектов, а также их автоматизация для анализа и визуализации;
  3. реализация алгоритмов категоризации объектов и процессов;
  4. формирование представления объектов в ГИС и визуализация пространственных данных; проведение тестирования разработанного интерфейса на примерах вычислительных задач.

Новизна работы заключается в разработке интегрированного ГИС-интерфейса, построенного на базе современных программных технологий (C# и DotSpatial), позволяющего автоматизировать процесс обработки и категоризации пространственных данных, а также визуализировать результаты вычислительных экспериментов.

Результаты разработки могут быть использованы в различных областях, где требуется пространственный анализ данных и их визуализация. Система может быть адаптирована для решения специфических задач в таких областях, как экология, логистика, геология, планирование инфраструктуры, моделирование чрезвычайных ситуаций и т.д. В дальнейшем планируется интеграция системы с системой принятия решений (СПР), что будет особенно полезно в ситуациях, связанных, например, с наводнениями. Это позволит более эффективно анализировать данные, прогнозировать последствия и предлагать оптимальные меры по снижению рисков и ущерба.

Описание схемы КМПО в рамках ситуационной системы вычислительного эксперимента (CCB3)

Концептуальная модель предметной области (КМПО) представляет собой формализованное описание объектов и процессов, участвующих в ситуационном анализе [1]. В рамках CCB3 КМПО выполняет роль связующего звена между моделируемыми процессами и системой ГИС, обеспечивая правильную интерпретацию пространственных данных и их визуализацию. Модель описывает объекты, их атрибуты, ресурсы, а также отношения между ними, что позволяет детализировать анализ и управление процессами [2].

Основными компонентами КМПО при работе с ГИС являются:

Для оптимизации обработки данных в рамках КМПО были введены категории, которые назначаются объектам и процессам автоматически. Категоризация упрощает процесс анализа, позволяя группировать объекты по их типу, важности или другим критериям. Например, объекты могут быть разделены на природные и антропогенные, а процессы — на статические и динамические.

В системе выделяются два типа данных:

Использование категорий для данных и объектов необходимо для упрощения структурирования информации и ее последующего анализа. Категоризация позволяет более эффективно визуализировать данные на карте, отображая их по определенным признакам, таким как цвет, форма и размер. Например, объекты с высоким уровнем риска можно выделить цветом, а динамические изменения — с помощью анимации или стрелок.

Алгоритм категоризации объектов и процессов

Для эффективной работы ситуационной системы вычислительного эксперимента разработан алгоритм автоматического присвоения категорий объектам КМПО. Алгоритм предполагает следующие шаги:

  1. Инициализация объекта: при добавлении нового объекта в систему ему присваиваются уникальные идентификаторы и параметры. Каждый объект уникален и идентифицируется с помощью ключевых параметров, которые могут включать географические координаты, физические характеристики и временные данные;
  2. Определение атрибутов: каждому объекту назначаются атрибуты на основе исходных данных. Эти атрибуты могут быть различными, включая географические (координаты), физические (размеры, материалы), временные (дата создания или изменения), а также специализированные для конкретной предметной области (например, тип использования территории или экологические параметры);
  3. Присвоение категории: в зависимости от атрибутов объекта и его местоположения в системе он автоматически помещается в одну из заранее определенных категорий. Примеры категорий могут включать «здания», «водоемы», «дороги», «растительность», «промышленные зоны» и др. Категории могут быть ограничены спецификой проекта или предметной области, однако можно создать дополнительные категории для более детализированного анализа. Например, в рамках экологического мониторинга могут быть добавлены категории «заповедные зоны» или «участки леса». Для анализа в ГИС используются команды пространственной выборки (например, по атрибутам или координатам), буферного анализа (по радиусу от объекта), а также анализ наложений слоев для оценки взаимосвязи между объектами;
  4. Контроль корректности: на последнем этапе система проверяет соответствие объекта своей категории. Проверка организована через анализ введенных атрибутов и их сравнение с предустановленными критериями для каждой категории. Например, если объект находится в пределах городской территории и его размеры соответствуют параметрам зданий, система подтвердит его принадлежность к категории «здания». В случае несоответствия (например, если объект с географическими координатами водоема был ошибочно отнесен к категории «дороги»), система предложит корректировку.

На основе описанного алгоритма был реализован прототип системы управления объектами в рамках ГИС-интерфейса с использованием языка программирования С# и библиотеки DotSpatial. Каждый этап алгоритма — инициализация объектов, присвоение атрибутов, автоматическая категоризация и проверка корректности — был воплощен в коде и представлен ниже.

// Создает новый объект – точку с географическими координатами Feature newObject = new Feature(FeatureType.Point); newObject.Coordinates.Add(new Coordinate(30.3158, 59.9386)); // Координаты объекта (например, Санкт-Петербург) // Добавляем атрибуты объекту newObject.DataRow["Name"] = "Здание 1"; newObject.DataRow["Height"] = 50; // физический атрибут newObject.DataRow["DateCreated"] = DateTime.Now; // временной атрибут // Присвоение категории на основе атрибутов string category; if ((double)newObject.DataRow["Height"] > 40) category = "Здания"; else category = "Малые постройки"; // Сохранение категории как атрибута объекта newObject.DataRow["Category"] = category;

Для каждой категории процессов в системе предусмотрены свои методы реализации и визуализации. Внутренние процессы (происходящие внутри объекта) отображаются с использованием простых графических изменений объекта (например, изменение цвета или прозрачности), внутриуровневые процессы (происходят между объектами одного уровня иерархии) могут быть показаны с помощью стрелок или линий, соединяющих объекты, а межуровневые процессы (взаимодействие объектов, находящихся на разных уровнях иерархии) требуют более сложной визуализации, включающей динамические карты и временные изменения [3].

Одним из ключевых аспектов разработки ГИС-интерфейса является работа с пространственными данными, хранящимися в dBase-файлах. Эти файлы используются для хранения атрибутов объектов таких, как названия, категории, координаты и другие данные. Для работы с пространственными данными в системе используются функции библиотеки DotSpatial. Она предоставляет инструменты для загрузки, отображения и анализа данных, что позволяет визуализировать объекты на карте и взаимодействовать с ними.

Процедуры визуализации и выборки объектов в ГИС

Визуализация объектов в ГИС требует не только их отображения, но и предоставления возможностей для выборки по различным критериям [4]. В данной системе для выполнения таких запросов применяются специальные функции на основе инструментария, аналогичного Avenue, который был адаптирован для работы с библиотекой DotSpatial.

Основные методы выбора объектов включают:

Для упрощения анализа данных в ГИС-системе реализованы функции создания графических справочников и выборок объектов. Эти справочники включают в себя визуальные метки, соответствующие различным категориям объектов, с использованием цвета, формы и размера для выделения ключевых характеристик.

Одним из ключевых элементов ГИС-интерфейса является картографическое окно (рис. 1), которое предназначено для отображения пространственных данных. Оно поддерживает динамическое масштабирование и панорамирование, что позволяет пользователям изменять масштаб карты и перемещаться по ней для детального изучения интересующих областей. В системе предусмотрена работа с несколькими слоями (рис. 2), что позволяет одновременно визуализировать различные категории объектов такие, как здания, дороги или водные объекты, на отдельных слоях.

Для межуровневых процессов предусмотрена возможность анимации, что дает пользователю возможность отслеживать изменения объектов во времени. Для удобства работы с системой создано меню, которое позволяет выбирать, какие объекты и категории данных отображать на карте. Пользователь может фильтровать объекты по категориям, выбирать их отображение за определенные временные промежутки и настраивать графические параметры такие, как цвет и толщина линий, для лучшей визуализации и анализа [5].

Рис. 1. Интерфейс программы
[Изображение интерфейса программы]
Рис. 2. Настройки слоев
[Изображение настроек слоев]

Пример вычислительного эксперимента: моделирование наводнений

В данном примере осуществляется моделирование наводнений в определенной местности с использованием данных о рельефе и гидрологических параметрах. Целью данного эксперимента является предсказание затопленных областей и анализ их воздействия на ключевые объекты инфраструктуры такие, как дороги, здания и электросети [6]. Моделирование основывается на динамике изменения уровня воды в реках и озерах, что позволяет учитывать различные сценарии наводнения.

// Загрузка данных о рельефе и объектах string demPath = @"C:\path\to\your\dem.tif"; string infrastructurePath = @"C:\path\to\your\infrastructure.shp"; IMapRasterLayer demLayer = map.Layers.Add(demPath) as IMapRasterLayer; IMapLayer infrastructureLayer = map.Layers.Add(InfrastructurePath); // Моделирование наводнения (например, увеличение уровня воды на 5 метров) double floodLevel = 5.0; // Выявление затопленных объектов foreach (IFeature feature in infrastructureLayer.DataSet.Features) { double elevation = GetElevation(feature, demLayer); if (elevation < floodLevel) { feature.DataRow["Flooded"] = true; // Визуализация затопленных объектов feature.Symbolizer = new PointSymbolizer(Color.Blue, PointShape.Circle, 10); } } // Анализ инфраструктуры и предложения AnalyzeFloodImpact(infrastructureLayer);

Шаги эксперимента:

  1. загрузка данных о рельефе и объектах инфраструктуры;
  2. моделирование наводнения с учетом повышения уровня воды;
  3. выявление затопленных объектов на основе анализа высоты;
  4. визуализация результатов на карте;
  5. оценка ущерба для инфраструктуры и предложения по изменению маршрутов или защиты объектов.

На этапе подготовки данных для моделирования наводнений был осуществлен процесс геокодирования, позволяющий преобразовать текстовую информацию об объектах инфраструктуры (например, названия или адреса) в точные географические координаты. Геокодирование представляет собой метод преобразования текстовых данных в координаты, которые обозначают местоположение объектов на поверхности Земли [7, 8]. Эти координаты, выраженные в широте (Ф) и долготе (А), определяют положение объектов на сферической или эллипсоидальной модели Земли. Геокодирование можно представить в виде следующей формулы:

\[P=GeoCode(A),\]

где \( P \) — это пара координат (широта, долгота); \( A \) — текстовая информация об адресе.

Для моделирования наводнений используется уравнение уровня воды, которое учитывает приток, отток и изменение объема воды в заданной области. Уравнение можно записать следующим образом:

\[\frac{dV}{dt} = Q_{in} - Q_{out},\]

где \( V \) — объем воды в резервуаре; \( Q_{in} \) — приток воды (например, от дождя или таяния снега); \( Q_{out} \) — отток (например, через реку или водоотвод).

После получения координат объектов и выполнения моделирования наводнений, необходимо определить, какие объекты подвержены затоплению. Для этого можно использовать алгоритм анализа высоты:

\[ Flooded(O) = \{1, если H_O < H_{water}; 0, иначе\}, \]

где \( H_O \) — высота объекта O; \( H_{water} \) — уровень воды в данной области.

В контексте моделирования наводнений предполагается, что применение геокодирования и использование описанных выше формул способствует повышению точности, поскольку интеграция данных о рельефе и использовании моделей потока (например, моделей для расчета стока воды) может повысить точность предсказаний наводнений на 20–40 %. Это достигается благодаря более точному моделированию физических процессов.

Рис. 3. Вычислительный эксперимент
[Изображение вычислительного эксперимента]

Заключение

В заключение можно отметить, что разработанный прототип ГИС-системы, построенный на основе C# и библиотеки DotSpatial, успешно реализует базовые задачи ситуационного анализа данных в вычислительных экспериментах. Эта система позволяет проводить простые вычислительные эксперименты с пространственными данными. ГИС-интерфейс обеспечивает визуализацию с использованием нескольких слоев картографической информации и анализ взаимодействий объектов и процессов в статике. Применение формата dBase и поддержка Shapefile обеспечивают надежное хранение и обработку данных, что делает систему устойчивой и гибкой. Данный прототип позволяет проводить анализ базовых ситуационных задач, оценивая пространственные и временные данные. В перспективе возможны дальнейшие улучшения, направленные на расширение функциональности, интеграцию с более сложными моделями анализа данных и разработку новых инструментов для поддержки вычислительных экспериментов.

Список источников:

1. Сагидова М. Л., Фридман А. Я. Основы ГИС-интерфейса в ситуационной системе вычислительного эксперимента // Теоретические и прикладные модели информатизации региона. Апатиты: КНЦ РАН, 2000. С. 108–112.
2. Сагидова М. Л., Фридман А. Я. Реализация интерфейса ГИС и концептуальной модели в ситуационной системе вычислительного эксперимента // Модели социальных, технологических и образовательных процессов. Апатиты: КНЦ РАН, 2001. С. 93–98.
3. Сагидова М. Л., Фридман А. Я., Фридман О.В. Интеллектуальная обработка данных в ГИС-приложениях // Информационные технологии в региональном развитии. Апатиты, 2008. Вып. VIII. С. 78–81.
4. Сагидова М. Л., Фридман А. Я. Метод ГИС-представления картографических задач исследования и обеспечения безопасности // Управление безопасностью природно-промышленных систем. Апатиты: КНЦ РАН, 2000. Вып. III. С. 6–20
5. Фридман А. Я., Курбанов В. Г. Информационная технология интеграции пространственных данных в ситуационную систему моделирования // Труды СПИИРАН. 2016. Вып. 4(47). С. 163–189. ISSN 2078-9181 (печ.), ISSN 2078-9599 (онлайн) www.proceedings.spinas.nw.ru. doi:10.15622/sp.47.9 17 с.
6. Alexander Fridman. Situational Modeling: Definitions, Awareness, Simulation. USA: Nova Science Publishers, Inc., 2023, 331 pp. https://novapublishers.com/shop/situational-modeling-definitions-awareness-simulation/doi:https://doi.org/10.52305/XIKU5849.
7. Сагидова М. Л., Фридман А. Я., Олейник А. Г. Алгоритм геокодирования для моделирования протяженных объектов энергетической системы Мурманской области // Системы информационной поддержки регионального развития. Апатиты: КНЦ РАН, 1998. С. 33–36.
8. Сагидова М. Л., Фридман А. Я. Представление результатов вычислительного эксперимента при моделировании природно-технических комплексов средствами ГИС // Информационные технологии в региональном развитии. Апатиты: ИИММ КНЦ РАН, 2005. Вып. V. С. 39–41.